1. Field of the Invention
The present invention relates to data transmission. More particularly, it relates to a multipath resistant waveform coding method for the wireless transmission of data.
2. Prior Art
The need for high speed wireless data transmission as a core technology for such market segments as wireless Local Area Networks (LAN) and wireless home networking is increasing. This newly emerging interest is new high speed technology has been fueled by the opening of new unlicensed radio spectrum in the Industrial, Scientific, and Medical (ISM) bands (900 MHz, 2.4 GHz, 5.7 GHz).
Waveform coded modulations are well known, and have been used to achieve high data rate radio links in other known commercial radio products in the 2.4 GHz ISM band. However, in indoor environments, a large number of multiple signal reflections occur when using wireless communication systems. These signal reflections result in a smearing of the signal in time (time dispersion) and "self-jamming". This can adversely impact the performance of a straightforward waveform coding system.
The basic concept behind waveform coding is diagrammed in FIG. 1. As shown, the baseband modulation stream s(t) comprises sequentially transmitted waveforms selected from the set [w.sub.1 (t), w.sub.2 (t) . . . w.sub.M (t)], each of which represents a bit pattern (or waveform vector) which is selected by the input data to be encoded. In binary waveform coding, the waveform is formed from a sequence of N individual "chip" values which can take on (unfiltered) values of .+-.1. Typically, the waveform sequences are chosen from a fixed set of orthogonal sequences. For an orthogonal waveform set, EQU .intg.w.sub.m (t)w.sub.n (t)dt=0, m.noteq.n (1) EQU .intg.w.sub.m (t)w.sub.n (t)dt=K, m=n (2)
where the range of integration is equal to the time duration of the waveform ("T" in FIG. 1) and K represents a positive value, not necessarily the same for different waveforms in the set. The waveform set may also be "near-orthogonal". For a "near-orthogonal" waveform set, EQU .intg.w.sub.m (t)w.sub.n (t)dt=K1, m.noteq.n (3) EQU .intg.w.sub.m (t)w.sub.n (t)dt=K, m.noteq.n (4)
where K&gt;&gt;K1 for all different combinations of waveforms.
To decode waveform coding modulation, the waveform interval in the received signal s(t) is processed using a correlator structure which evaluates correlations c.sub.1 through c.sub.M, where M is the number of possible transmitted waveforms. Since the basis waveforms w.sub.1 +L through w.sub.M +L normally represent an orthogonal or near-orthogonal basis set, all of these correlations will result in a value of low correlation except for one, which provides a relatively larger correlation. The bit pattern which corresponds to the basis waveform "w" giving the largest correlation at the receiver is taken as the estimate of the information encoded at the transmitter. The baseband waveform shape is shown here as a perfect square wave for exemplary purposes only, and in practice will be smoothed with a band limiting filter so that it does not interfere with other possible users in the frequency domain.
This basic concept can be described mathematically by representing time waveforms as a discrete vector of N "chip" values, which can assume a value of 1 or -1. For example, a length N waveform "w" is represented as the vector: ##EQU1##
where w(0), . . . w(N-1) are "chip" values of 1 or -1.
If a length N waveform is chosen, then b=floor(log.sub.2 (N)) bits can be encoded to select 1 of M=2.sup.b waveforms for transmission. At the receiver, a maximum likelihood correlator correlates the received vector against all possible transmitted waveforms, and selects the waveform with the highest correlation as the transmitted waveform. The receiver correlation computes: ##EQU2##
for each of the M possible different transmitted waveforms, where "w.sub.n " represents the waveform being correlated and "s" represents the received signal vector. The maximum c.sub.n value corresponds to the most likely transmitted waveform, and the output bits are those used to encode that waveform pattern at the transmitter.
In order to assure optimal performance, the set of M transmitted waveforms should be as orthogonal as possible. That is, the correlation value computed by (5) should be small or zero for all waveform vectors except for the transmitted one, which will output a large value.
Several encoding methods can be used to map data bits to waveform patterns. Examples of these methods are: Binary Phase Shift Keying (BPSK), Quadrature Phase Shift Keying (QPSK), and Quadrature BPSK (QBPSK).
BPSK/QPSK Waveform Encoding
In BPSK encoding as shown in FIG. 10, b+1 bits will be encoded per waveform by applying a sign multiplier value of 1 or -1 to each "chip" in the waveforms. At the receiver, the sign bit is decoded either coherently or differentially using known, common techniques. The transmitter puts the same waveform on both the I and Q channels of the carrier as follows: ##EQU3##
where sign is a .+-.1 multiplier based on the sign bit value, and ##EQU4##
is the waveform selected by the "b" input data bits, and "j" is the square root of -1.
In QPSK encoding as shown in FIG. 11, it is possible to encode b+2 bits per waveform in a radio channel, by applying a "complex sign" multiplier of 1+j0, 0+j1, or 0-j1 to the waveform. At the receiver, this "complex" sign, which can be viewed as a waveform phase, is decoded using either coherent or differential techniques. In this case, 2 bits are used to select one of four possible waveform phases. The resulting transmit waveform is: ##EQU5##
where qsign takes on a value of (1, j, -1, or -j).
The BPSK/QPSK decoder looks for the maximum magnitude of the complex correlation of all M waveforms. The waveform index 0 . . . M-1 which corresponds to the maximum value is used as an index to look up the transmit bits which are associated with the waveform (normally, the value of 0 . . . M-1 itself can be used). The sign bit(s) is (are) decoded using well known differential or coherent decoding techniques.
Quadrature BPSK (QBPSK) Waveform Encoding
In QBPSK encoding as shown in FIG. 12, to increase the encoded bits per unit waveform time to 2*(b+1), it is possible to encode two separate waveforms independently on the I and Q axes of the modulation. This allows twice the data rate to be packed into the same bandwidth, but gives up multipath rejection performance since multipath crosstalk will occur between the I and Q channels in the receiver. In addition, this encoding algorithm requires a coherent phase reference at the receiver, (i.e., it cannot be decoded non-coherently). This can increase receiver complexity.
The transmit waveform is: ##EQU6##
where sign 1, sign 2 and ##EQU7##
are two independently coded sign bits and waveforms.
As stated above, the QBPSK decoder must use a coherent architecture, which mixes the received waveforms to 0 phase offset with respect to the transmitted I and Q axes. The QBPSK decoder correlates against all M possible transmitted waveforms in one block. Then, the maximum absolute value of the real part of the complex correlations is found. The sign bit information for the I channel is derived from the sign of the maximum real value. The Q channel information is decoded in a similar manner, by looking for the maximum absolute value of the imaginary part of the M complex correlations and the associated sign of this value.